package ar.com.digitalbricks.core.impl;

import java.util.Collection;

import org.springframework.beans.factory.annotation.Configurable;

import ar.com.digitalbricks.core.MenuItem;
import ar.com.digitalbricks.core.Mesa;
import ar.com.digitalbricks.core.Pedido;
import ar.com.digitalbricks.core.dao.MesaDAO;
import ar.com.digitalbricks.fwk.impl.PersistentEntityAbstract;

@Configurable("mesa")
public class MesaImpl extends PersistentEntityAbstract implements Mesa {
	private Collection<Pedido> pedidos;
	private MesaDAO mesaDAO;

	@Override
	public Collection<Pedido> getPedidos() {
		return this.pedidos;
	}

	@Override
	public void realizarPedido(Collection<MenuItem> menuItems){
		/**
		 * TODO: Implementar esto
		 */
	}

	@Override
	public void delete() {
		this.getMesaDAO().delete(this);
	}

	@Override
	public void save() {
		this.getMesaDAO().save(this);
	}

	public MesaDAO getMesaDAO() {
		return this.mesaDAO;
	}

	public void setMesaDAO(MesaDAO mesaDAO) {
		this.mesaDAO = mesaDAO;
	}
	/**
	 * No usar, solamente es para el mapeo de Hibernate
	 * @param pedidos
	 */
	@Deprecated
	@SuppressWarnings("unused")
	private void setPedidos(Collection<Pedido> pedidos){
		this.pedidos = pedidos;
	}
}